<%-- 
    Document   : Rol
    Created on : 10/06/2008, 02:32:50 PM
    Author     : Alejandro
--%>

<%@ page language="java" import="java.util.*" %>
<%@ page language="java" import="java.sql.*" %>
<%@ page language="java" import="com.akcess.vo.*" %>
<%@ page language="java" import="manejadores.*" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
            String path = request.getContextPath();
            String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head>
        <!--  Version: Multiflex-3.12 / Overview                    --><!--  Date:    January 20, 2008                             --><!--  Design:  www.1234.info                                --><!--  License: Fully open source without restrictions.      --><!--           Please keep footer credits with the words    --><!--           "Design by 1234.info" Thank you!             -->

<script language="JavaScript">	
        <!--
            function evalua(formulario) {
                //alert("Schakeee!!!");
                var nomrol = formulario.NombreRol.value;
                //alert("x"+formulario._1_2.value+"x");
                var listarUsuarios = formulario._1_2.checked;
                var agregarUsuarios = formulario._1_1.checked;
                var modificarUsuarios = formulario._1_4.checked;
                var borrarUsuarios = formulario._1_3.checked;
                var asignarUsuarios = formulario._1_5.checked;
                
                //alert("x"+formulario._1_2.checked+" x " + formulario._1_1.checked);
                
                var listarRecursos = formulario._2_2.checked;
                var agregarRecursos = formulario._2_1.checked;
                var modificarRecursos = formulario._2_4.checked;
                var borrarRecursos = formulario._2_3.checked;
                
                var cancelarReservas = formulario._3_10.checked;
                var agregarReservas = formulario._3_1.checked;
                var listarReservas = formulario._3_2.checked;
                var modificarReservas = formulario._3_4.checked;
                
                var listarSolReserva = formulario._4_2.checked;
                var agregarSolReserva = formulario._4_1.checked;
                var aprobarSolReserva = formulario._4_6.checked;
                var rechazarSolReserva = formulario._4_7.checked;
                var anularSolReserva = formulario._4_9.checked;
                
                var agregarSolRegistro = formulario._5_1.checked;
                var aprobarSolRegistro = formulario._5_6.checked;
                var rechazarSolRegistro = formulario._5_7.checked;
                var listarSolRegistro = formulario._5_2.checked;
                
                var listarLogSistema = formulario._6_2.checked;
                
                var listarTipoRecursos = formulario._7_2.checked;
                var modificarTipoRecursos = formulario._7_4.checked;
                var agregarTipoRecursos = formulario._7_1.checked;
                var borrarTipoRecursos = formulario._7_3.checked;
                
                var agregarRol = formulario._8_1.checked;
                var listarRol = formulario._8_2.checked;
                var borrarRol = formulario._8_3.checked;
                var modificarRol = formulario._8_4.checked;
                
                var banda = 1;
                                
            if (confirm("¿Está seguro?")) {
                /**
                * Control del campo: Nombre del Rol
                **/
                if (nomrol == "") {
                    alert("El campo --Nombre del Rol-- \n NO puede quedar vacío");
                    banda = 0;
                }
                
                /**
                * Control de permisos sobre USUARIOS
                **/           
                if (borrarUsuarios && !modificarUsuarios) {
                    alert("[ERROR] En --> Usuarios \n Si se puede borrar también se puede modificar");
                    banda = 0;
                }
                
                if ((borrarUsuarios || modificarUsuarios) && !listarUsuarios)  {
                    alert("[ERROR] En --> Usuarios \n Si se puede borrar o modificar, también listar");
                    banda = 0;
                }
                
                if (agregarUsuarios && !listarUsuarios) {
                    alert("[ERROR] En --> Usuarios \n Si se puede agregar también se puede listar");
                    banda = 0;
                }
                                        
                if (asignarUsuarios && !listarUsuarios)  {
                    alert("[ERROR] En --> Usuarios \n Si se puede desasignar o asignar Roles, también listar usuarios");
                }
                
                /**
                * Control de permisos sobre RECURSOS
                **/
                if (modificarRecursos && !borrarRecursos) {
                    alert("[ERROR] En --> Recursos \n Si se modifica también se puede borrar");
                    banda = 0;
                }
                
                if (borrarRecursos && !modificarRecursos) {
                    alert("[ERROR] En --> Recursos \n Si se puede borrar también se puede modificar");
                    banda = 0;
                }
                
                if ((borrarRecursos || modificarRecursos) && !listarRecursos)  {
                    alert("[ERROR] En --> Recursos \n Si se puede borrar o modificar, también listar");
                    banda = 0;
                }
                
                if (agregarRecursos && !listarRecursos) {
                    alert("[ERROR] En --> Recursos \n Si se puede agregar también se puede listar");
                    banda = 0;
                }
                 
                /**
                * Control de permisos sobre RESERVAS
                **/
                if (modificarReservas && !cancelarReservas) {
                    alert("[ERROR] En --> Reservas \n Si se pueden modificar también se pueden cancelar");
                    banda = 0;
                }
                
                if (cancelarReservas && !modificarReservas) {
                    alert("[ERROR] En --> Reservas \n Si se pueden cancelar también se puede modificar");
                    banda = 0;
                }
                
                if ((cancelarReservas || modificarReservas) && !listarReservas)  {
                    alert("[ERROR] En --> Reservas \n Si se pueden cancelar o modificar, también listar");
                    banda = 0;
                }
                
                if (agregarReservas && !listarReservas) {
                    alert("[ERROR] En --> Reservas \n Si se pueden agregar también se pueden listar");
                    banda = 0;
                }
                
                /**
                * Control de permisos sobre SOLICITUDES DE RESERVA
                **/
                if (rechazarSolReserva && !anularSolReserva) {
                    alert("[ERROR] En --> Solicitudes de Reservas \n Si se pueden rechazar también se pueden anular");
                    banda = 0;
                }
                
                if (aprobarSolReserva && !listarSolReserva) {
                    alert("[ERROR] En --> Solicitudes de Reservas \n Si se pueden aprobar también se pueden listar");
                    banda = 0;
                }
                
                if ((anularSolReserva || rechazarSolReserva) && !listarSolReserva)  {
                    alert("[ERROR] En --> Solicitudes de Reservas \n Si se puede anular o rechazar, también listar");
                    banda = 0;
                }
                
                if (agregarSolReserva && !listarSolReserva) {
                    alert("[ERROR] En --> Solicitudes de Reservas \n Si se pueden agregar también se pueden listar");
                    banda = 0;
                }
                                        
                /**
                * Control de permisos sobre SOLICITUDES DE REGISTRO
                **/
                if ((aprobarSolRegistro || rechazarSolRegistro || agregarSolRegistro) && !listarSolRegistro)  {
                    alert("[ERROR] En --> Solicitudes de Registro \n Si se puede anular, rechazar o agregar, también listar");
                    banda = 0;
                }
                 
                /**
                * Control de permisos sobre TIPO DE RECURSOS
                **/
                if (modificarTipoRecursos && !borrarTipoRecursos) {
                    alert("[ERROR] En --> Tipo de Recursos \n Si se modifica también se puede borrar");
                    banda = 0;
                }
                
                if (borrarTipoRecursos && !modificarTipoRecursos) {
                    alert("[ERROR] En --> Tipo de Recursos \n Si se puede borrar también se puede modificar");
                    banda = 0;
                }
                
                if ((borrarTipoRecursos || modificarTipoRecursos) && !listarTipoRecursos)  {
                    alert("[ERROR] En --> Tipo de Recursos \n Si se puede borrar o modificar, también listar");
                    banda = 0;
                }
                
                if (agregarTipoRecursos && !listarTipoRecursos) {
                    alert("[ERROR] En --> Tipo de Recursos \n Si se puede agregar también se puede listar");
                    banda = 0;
                }
                
                /**
                * Control de permisos sobre ROLES
                **/
                if (modificarRol && !borrarRol) {
                    alert("[ERROR] En --> Rol \n Si se modifica también se puede borrar");
                    banda = 0;
                }
                
                if (borrarRol && !modificarRol) {
                    alert("[ERROR] En --> Rol \n Si se puede borrar también se puede modificar");
                    banda = 0;
                }
                
                if ((borrarRol || modificarRol) && !listarRol)  {
                    alert("[ERROR] En --> Rol \n Si se puede borrar o modificar, también listar");
                    banda = 0;
                }
                
                if (agregarRol && !listarRol) {
                    alert("[ERROR] En --> Rol \n Si se puede agregar también se puede listar");
                    banda = 0;
                }
                
                if (banda == 1)
                    formulario.submit();
            }
            else {
    			alert("Por favor, modifique los campos que quiera...");
        	}
        }
	
	
        //-->
        </script>

        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="3600">
        <meta name="revisit-after" content="2 days">
        <meta name="robots" content="index,follow">
        <meta name="publisher" content="Your publisher infos here ...">
        <meta name="copyright" content="Your copyright infos here ...">
        <meta name="author" content="Design: 1234.info / Modified: Your Name">
        <meta name="distribution" content="global">
        <meta name="description" content="Your page description here ...">
        <meta name="keywords" content="Your keywords, keywords, keywords, here ...">
        <base href="<%=basePath%>">
        <link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_setup.css">
        <link rel="stylesheet" type="text/css" media="screen,projection,print" href="./css/layout4_text.css">
    <link rel="icon" type="image/x-icon" href="./img/favicon.ico"><title>SRR - Sistema de Reserva de Recursos</title><!-- Global IE fix to avoid layout crash when single word size wider than column width --><!--[if IE]><style type="text/css"> body {word-wrap: break-word;}</style><![endif]--><link href="./css/highlighter.css" type="text/css" rel="stylesheet"><link href="./css/highlighter_002.css" type="text/css" rel="stylesheet"></head><body>
        <!-- Main Page Container -->
        <div class="page-container">
        
        <!-- For alternative headers START PASTE here -->

    <!-- A. HEADER -->      
            <jsp:include page="../Header.jsp"/>
            
            <!-- For alternative headers END PASTE here -->

        <!-- B. MAIN -->
        <div class="main">
            
            <!-- B.1 MAIN NAVIGATION -->
            <jsp:include page="../barraOperaciones.jsp"/> 
            
            <!-- B.2 MAIN CONTENT -->
            <div class="main-content">
                
                <!-- Pagetitle -->
                <h1 class="pagetitle">Agregar Rol</h1>
                <form name="crear" action="GestionarRol?hacer=crear" method="post">
                    <table border="1">
                        <tbody>
                            <tr>
                                <td>Nombre del Rol</td>
                                <td><input type="text" name="NombreRol" value=""></td>
                            </tr>
                        </tbody>    
                    </table>  
                    <%
                    Connection cone;
            cone = (Connection) session.getAttribute("conexion");
            ManejadorRol manejadorRol = new ManejadorRol(cone);
            NombresModulosOperaciones[] nombreModOper = manejadorRol.ObtenerNombreModOper();
            int j = 0;
            int i = 0;
            while (i < nombreModOper.length) {
                out.println("<h6 >" + nombreModOper[i].getNombreModulo() + "</h6>");
                j = i;
                out.println("<table border=\"0\">");
                out.println("<tbody>");

                while ((i < nombreModOper.length) && (nombreModOper[j].getNombreModulo().equals(nombreModOper[i].getNombreModulo()))) {
                    out.println("<tr>");
                    out.println("<td><input type=\"checkbox\" name=\"_" + nombreModOper[i].getId_modulo() + "_" + nombreModOper[i].getId_permiso() + "\" value=\"true\"> " + nombreModOper[i].getNombrePermiso() + "</td>");
                    out.println("</tr>");
                    i++;
                }

                out.println("</tbody>");
                out.println("</table>");
            }

            out.println("<table border=\"0\">");
            out.println("<tbody>");
            out.println("<tr>");
            out.println("<td><center>");
            out.println("<input type=\"submit\" name=\"btnGuardar\" value=\"Crear\">");
            out.println("</center></td>");
            out.println("<td><center>");
            out.println("<input type=\"button\" name=\"btnCancelar\" value=\"Cancelar\" onclick=\"location.href = 'GestionarRol?hacer=Listar'\">");
            out.println("</center></td>");
            out.println("</tr>");
            out.println("</tbody>");
            out.println("</table>");            
                    %>            
                </form>    <!-- B.3 SUBCONTENT -->                
            </div>          
            </div>
            <!-- C. FOOTER AREA --> 
            <%@include file="../footer.jsp"%>     
        </div>         
    </body>
</html>
